package com.fulu.javabase.singleton;

/**
 * 内部类实现单例模式
 * 在Inner类使用之前，也就是getInstance调用之前，不会创建Inner类对象，实现懒汉式单例
 * 使用类加载器保证线程安全
 * SingletonTest6.class.getClassLoader().loadClass()
 * 查看ClassLoader的loadClass方法使用了 synchronized
 */
public class Singleton6 {
    private Singleton6(){}

    private static class Inner{
        private static final Singleton6 INSTANCE = new Singleton6();
    }

    public static Singleton6 getInstance(){
        return Inner.INSTANCE;
    }
}
